package com.micro.service;

import com.micro.dto.OrderResultDTO;
import com.micro.request.TicketCreatingRequest;
import com.micro.request.MealOrderRequest;
import com.micro.request.HotelOrderRequest;

import java.util.List;

/**
 * 统一订单服务接口
 * 实现完整的购买流程：创建订单 → 扣款 → 处理库存 → 发送消息
 */
public interface UnifiedOrderService {

    /**
     * 创建火车票订单（完整流程）
     */
    OrderResultDTO createTrainTicketOrder(TicketCreatingRequest request);

    /**
     * 创建火车餐订单（完整流程）
     */
    OrderResultDTO createTrainMealOrder(MealOrderRequest request);

    /**
     * 创建酒店订单（完整流程）
     */
    OrderResultDTO createHotelOrder(HotelOrderRequest request);

    /**
     * 批量创建火车票订单（完整流程）
     */
    OrderResultDTO createTrainTicketOrders(List<TicketCreatingRequest> requests);
}
